Time-Sensitive Networking (TSN) is based on a set of standards developed by the IEEE 802.1 working group. Exemplary applications of TSN include streaming of real-time audio and/or video data and streaming real-time control data streams in industrial systems. These applications have strict requirements regarding transmission latency and require clocks that are synchronized between the systems connected to the network. The IEEE 1588 Precision Time Protocol (PTP) specifies approaches for time synchronization across systems using Ethernet frames to distribute time synchronization information. The standards further allow for scheduling of network traffic in different classes and having different priorities. The different classes of network traffic can have different bandwidth and latency requirements.
A TSN application can include multiple queues for buffering data to be transmitted over the network. The different queues can be for different classes of data, and the classes can have different priorities. Each queue can be controlled by a respective gate that can be opened or closed in response to programmed gate states. Data from queues having open gates can be submitted for arbitration and transmission over the network.
A gate control list is used to schedule the transmission of different classes of data. A gate control list includes an ordered list of gate operations, and each gate operation specifies a set of gate states that control the opening and closing of the gates. Each gate operation in the gate control list is active for a prescribed period, which can be referred to as the gate operation window. During the gate operation window, data can be transmitted from the queues controlled by the gates specified as being open by the gate operation. When the next gate operation is activated from the gate control list, a different group of gates can be opened. The gating cycle is the period of time over which the sequence of gate operations in the gate control list repeats. To accommodate different desired network traffic patterns, different gate control lists can be active at different times.
Gate overrun can be problematic in TSN applications. A gate overrun event has occurred when a gate that controls a queue is closed, and transmission of a frame from the queue has begun but has not yet completed. That is, the transmission of a frame commences during one gate operation window but does not complete before the next gate operation window is scheduled to occur. Gate overrun can cause problems with time synchronization between systems.